﻿''' <summary>
''' Erstellt ein Landeboot
''' </summary>
''' <remarks></remarks>
Public Class EinheitL_Boot
    Inherits ObjektEinheit
    Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
        MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
    End Sub
    Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
        MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
    End Sub
    Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
        MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
    End Sub
    Protected Overrides Sub Datenladen()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWarsDC
                Einheitenname = "Landeboot"
                EinheitenID = "L-BOOT"
                SpritMax = 99
                KannTarnen = False
                KannBesetzen = False
                Treibeverbrauch = 1
                Koste = 10000
                Faehigkeit = ""
                Treibstoff = SpritMax
                Bewegungspunkte = 6
                Bewegungsart = MovementSorts.Transport.ToString
                Sicht = 1
                MunitionMax = -1
                Munition = MunitionMax
                Waffe1 = "Keine"
                Waffe2 = "Keine"
                Array.Resize(Ladung, 2)
                GeladeneEinheitenIDs = New String() {"INF", MovementSorts.Mech.ToString.ToUpper, "SPAEHER", "JGPZ", "KPZ", "TITANPZ", "MEGAPZ", "TTP", "ART", "RKW", "FLAK", "MISSILE", "SSIEINHEIT", "BAUPANZER", "HOVERFLAK", "HOVERCRAFT", "SCHWERESHOVERCRAFT", "ABPZ", "MOTORRAD", "FLARE", "PANZERABWEHRKANONE"}
                EntladungsUntergrund = New String() {"STRAND", "WERFT"}
                MinimaleReichweite = 0
                MaximaleReichweite = 0
                BildIDbestimmen()
                Explosion = "Wasser"
            Case CommanderWarsGameModi.CommanderWars2
                Einheitenname = "Landeboot"
                EinheitenID = "L-BOOT"
                SpritMax = 99
                KannTarnen = False
                KannBesetzen = False
                Treibeverbrauch = 1
                Koste = 10000
                Faehigkeit = ""
                Treibstoff = SpritMax
                Bewegungspunkte = 6
                Bewegungsart = MovementSorts.Transport.ToString
                Sicht = 1
                MunitionMax = -1
                Munition = MunitionMax
                Waffe1 = "Keine"
                Waffe2 = "Keine"
                Array.Resize(Ladung, 2)
                GeladeneEinheitenIDs = New String() {"INF", MovementSorts.Mech.ToString.ToUpper, "SPAEHER", "JGPZ", "KPZ", "TITANPZ", "MEGAPZ", "TTP", "ART", "RKW", "FLAK", "MISSILE", "SSIEINHEIT", "BAUPANZER", "HOVERFLAK", "HOVERCRAFT", "SCHWERESHOVERCRAFT", "ABPZ", "MOTORRAD", "FLARE", "PANZERABWEHRKANONE"}
                EntladungsUntergrund = New String() {"STRAND", "WERFT"}
                MinimaleReichweite = 0
                MaximaleReichweite = 0
                BildIDbestimmen()
                Explosion = "Wasser"
            Case Is <= CommanderWarsGameModi.AdvanceWarsDS
                Einheitenname = "Landeboot"
                EinheitenID = "L-BOOT"
                SpritMax = 99
                KannTarnen = False
                KannBesetzen = False
                Treibeverbrauch = 1
                Koste = 12000
                Faehigkeit = ""
                Treibstoff = SpritMax
                Bewegungspunkte = 6
                Bewegungsart = MovementSorts.Transport.ToString
                Sicht = 1
                MunitionMax = -1
                Munition = MunitionMax
                Waffe1 = "Keine"
                Waffe2 = "Keine"
                Array.Resize(Ladung, 2)
                GeladeneEinheitenIDs = New String() {"INF", MovementSorts.Mech.ToString.ToUpper, "SPAEHER", "JGPZ", "KPZ", "TITANPZ", "MEGAPZ", "TTP", "ART", "RKW", "FLAK", "MISSILE", "SSIEINHEIT", "BAUPANZER", "HOVERFLAK", "HOVERCRAFT", "SCHWERESHOVERCRAFT", "ABPZ", "MOTORRAD", "FLARE", "PANZERABWEHRKANONE"}
                EntladungsUntergrund = New String() {"STRAND", "WERFT"}
                MinimaleReichweite = 0
                MaximaleReichweite = 0
                BildIDbestimmen()
                Explosion = "Wasser"
            Case Else
                Einheitenname = "Landeboot"
                EinheitenID = "L-BOOT"
                SpritMax = 99
                KannTarnen = False
                KannBesetzen = False
                Treibeverbrauch = 1
                Koste = 12000
                Faehigkeit = ""
                Treibstoff = SpritMax
                Bewegungspunkte = 6
                Bewegungsart = MovementSorts.Transport.ToString
                Sicht = 1
                MunitionMax = -1
                Munition = MunitionMax
                Waffe1 = "Keine"
                Waffe2 = "Keine"
                Array.Resize(Ladung, 2)
                GeladeneEinheitenIDs = New String() {"INF", MovementSorts.Mech.ToString.ToUpper, "SPAEHER", "JGPZ", "KPZ", "TITANPZ", "MEGAPZ", "TTP", "ART", "RKW", "FLAK", "MISSILE", "SSIEINHEIT", "BAUPANZER", "HOVERFLAK", "HOVERCRAFT", "SCHWERESHOVERCRAFT", "ABPZ", "MOTORRAD", "FLARE", "PANZERABWEHRKANONE"}
                EntladungsUntergrund = New String() {"STRAND", "WERFT"}
                MinimaleReichweite = 0
                MaximaleReichweite = 0
                BildIDbestimmen()
                Explosion = "Wasser"
        End Select
    End Sub
    Protected Overrides Sub UpgradeUnit(ByVal E As ObjektEinheit)
        Select Case EinheitenStufe
            Case ObjektEinheit.Stufe.Leutnant
                E.ATKDEFBoost.Y += 5
            Case Stufe.Offizier
                E.ATKDEFBoost.Y += 10
            Case Stufe.General
                E.ATKDEFBoost.Y += 15
            Case Stufe.Veteran
                E.ATKDEFBoost.Y += 20
                Array.Resize(Ladung, Ladung.Length + 1)
            Case Stufe.KO
                E.ATKDEFBoost.Y += 20
                Array.Resize(Ladung, Ladung.Length + 1)
            Case Else
        End Select
    End Sub
End Class
